home *** CD-ROM | disk | FTP | other *** search
/ Micromanía 92 / CDMM92_1.ISO / SOF 2 SDK / sof2sdk-101.msi / _92D6AC311BB48EBA344BBABC89DA6AB0 / _D757227D86CF488D86C14B2CA55DEA2A < prev    next >
Encoding:
Text File  |  2002-06-06  |  6.0 KB  |  186 lines

  1. // Copyright (C) 2001-2002 Raven Software.
  2. //
  3.  
  4. // gt_public.h -- game type module 
  5.  
  6. #define    GAMETYPE_API_VERSION    1
  7.  
  8. typedef enum 
  9. {
  10.     //============== general Quake services ==================
  11.  
  12.     GT_PRINT,                        // ( const char *string );
  13.     GT_ERROR,                        // ( const char *string );
  14.     GT_MILLISECONDS,                // ( void );
  15.  
  16.     GT_CVAR_REGISTER,                // ( vmCvar_t *vmCvar, const char *varName, const char *defaultValue, int flags );
  17.     GT_CVAR_UPDATE,                    // ( vmCvar_t *vmCvar );
  18.     GT_CVAR_SET,                    // ( const char *var_name, const char *value );
  19.     GT_CVAR_VARIABLE_INTEGER_VALUE,    // ( const char *var_name );
  20.     GT_CVAR_VARIABLE_STRING_BUFFER,    // ( const char *var_name, char *buffer, int bufsize );
  21.  
  22.     GT_MEMSET = 100,
  23.     GT_MEMCPY,
  24.     GT_STRNCPY,
  25.     GT_SIN,
  26.     GT_COS,
  27.     GT_ATAN2,
  28.     GT_SQRT,
  29.     GT_ANGLEVECTORS,
  30.     GT_PERPENDICULARVECTOR,
  31.     GT_FLOOR,
  32.     GT_CEIL,
  33.     GT_TESTPRINTINT,
  34.     GT_TESTPRINTFLOAT,
  35.     GT_ACOS,
  36.     GT_ASIN,
  37.     GT_MATRIXMULTIPLY,
  38.  
  39.     
  40.     GT_TEXTMESSAGE,                    // void ( int clientid, const char* message );
  41.     GT_RESETITEM,                    // void ( int itemid );
  42.     GT_GETCLIENTNAME,                // void ( int clientid, const char* buffer, int buffersize );
  43.                                     
  44.     GT_REGISTERSOUND,                // int  ( const char* filename );
  45.     GT_STARTGLOBALSOUND,            // void ( int soundid );
  46.                                     
  47.     GT_REGISTERITEM,                // bool ( int itemid, const char* name, gtItemDef_t* def );
  48.     GT_RADIOMESSAGE,                // void ( int clientid, const char* message );
  49.     GT_REGISTERTRIGGER,                // bool ( int trigid, const char* name, gtTriggerDef_t* def );
  50.  
  51.     GT_GETCLIENTITEMS,                // void ( int clientid, int* buffer, int buffersize );
  52.     GT_DOESCLIENTHAVEITEM,            // bool ( int clientid, int itemid );
  53.  
  54.     GT_ADDTEAMSCORE,                // void ( team_t team, int score );
  55.     GT_ADDCLIENTSCORE,                // void ( int clientid, int score );
  56.  
  57.     GT_RESTART,                        // void ( int delay );
  58.  
  59.     GT_REGISTEREFFECT,                // int    ( const char* name );
  60.     GT_PLAYEFFECT,                    // void    ( int effect, vec3_t origin, vec3_t angles );
  61.  
  62.     GT_REGISTERICON,                // int    ( const char* icon );
  63.  
  64.     GT_USETARGETS,                    // void ( const char* targetname );
  65.  
  66.     GT_GETCLIENTORIGIN,                // void ( int clientid, vec3_t origin );
  67.     GT_GIVECLIENTITEM,                // void ( int clientid, int itemid );
  68.     GT_TAKECLIENTITEM,                // void ( int clientid, int itemid );
  69.  
  70.     GT_SPAWNITEM,                    // void ( int itemid, vec3_t origin, vec3_t angles );
  71.  
  72.     GT_STARTSOUND,                    // void ( int soundid, vec3_t origin );
  73.     GT_GETTRIGGERTARGET,            // void ( int triggerid, char* buffer, int buffersize );
  74.  
  75.     GT_GETCLIENTLIST,                // int  ( team_t team, int* clients, int clientcount );
  76.  
  77.     GT_SETHUDICON,                    // void    ( int index, int icon );
  78.  
  79. } gametypeImport_t;
  80.  
  81.  
  82. typedef enum
  83. {
  84.     GAMETYPE_INIT,
  85.     GAMETYPE_START,
  86.     GAMETYPE_RUN_FRAME,
  87.     GAMETYPE_EVENT,
  88.  
  89. } gametypeExport_t;
  90.  
  91.  
  92. typedef enum
  93. {
  94.     GTCMD_TEXTMESSAGE,                // void ( int client, const char* message );
  95.     GTCMD_RESETITEM,                // void ( const char* itemName );
  96.     GTCMD_GETCLIENTNAME,            // void ( int clientid, char* buffer, int buffersize );
  97.                                     
  98.     GTCMD_REGISTERSOUND,            // int  ( const char* soundFile );
  99.     GTCMD_STARTGLOBALSOUND,            // void ( int soundid );
  100.                                     
  101.     GTCMD_REGISTERITEM,                // int  ( const char* name, gtItemDef_t* def );
  102.  
  103.     GTCMD_RADIOMESSAGE,                // void ( int clientid, const char* message );
  104.     GTCMD_REGISTERTRIGGER,            // bool ( int triggerid, const char* message, gtTriggerDef_t* def );
  105.  
  106.     GTCMD_DOESCLIENTHAVEITEM,        // bool ( int clientid, int itemid );
  107.  
  108.     GTCMD_ADDTEAMSCORE,                // void ( team_t team, int score );
  109.     GTCMD_ADDCLIENTSCORE,            // void ( int clientid, int score );
  110.  
  111.     GTCMD_RESTART,                    // void ( int delay );
  112.  
  113.     GTCMD_REGISTEREFFECT,            // int    ( const char* name );
  114.     GTCMD_PLAYEFFECT,                // void ( int effect, vec3_t origin, vec3_t angles );
  115.  
  116.     GTCMD_REGISTERICON,                // int  ( const char* icon );
  117.  
  118.     GTCMD_USETARGETS,                // void ( const char* targetname );
  119.  
  120.     GTCMD_GETCLIENTORIGIN,            // void ( int clientid, vec3_t origin );
  121.     GTCMD_GIVECLIENTITEM,            // void ( int clientid, int itemid );
  122.     GTCMD_TAKECLIENTITEM,            // void ( int clientid, int itemid );
  123.  
  124.     GTCMD_SPAWNITEM,                // void ( int itemid, vec3_t origin, vec3_t angles );
  125.  
  126.     GTCMD_STARTSOUND,                // void ( int soundid, vec3_t origin );
  127.  
  128.     GTCMD_GETTRIGGERTARGET,            // void ( int triggerid, char* bufferr, int buffersize );
  129.  
  130.     GTCMD_GETCLIENTLIST,            // int  ( team_t team, int* clients, int clientcount );
  131.  
  132.     GTCMD_SETHUDICON,                // void ( int index, int icon );
  133.  
  134. } gametypeCommand_t;
  135.  
  136.  
  137.  
  138. typedef enum
  139. {
  140.     GTEV_ITEM_DROPPED,            // void ( int itemID );
  141.     GTEV_ITEM_TOUCHED,            // int  ( int itemID, int clientID, int clientTeam );
  142.  
  143.     GTEV_TRIGGER_TOUCHED,        // int  ( int trigID, int clientID, int clientTeam );
  144.  
  145.     GTEV_TEAM_ELIMINATED,        // void ( team_t team );
  146.     GTEV_TIME_EXPIRED,            // void ( void );
  147.     
  148.     GTEV_ITEM_STUCK,            // void ( int itemID );
  149.  
  150.     GTEV_ITEM_DEFEND,            // void ( int itemID, int clientID, int clientTeam );
  151.  
  152.     GTEV_CLIENT_DEATH,            // void ( int clientID, int clientTeam, int killerID, int killerTeam );
  153.  
  154.     GTEV_TRIGGER_USED,            // int  ( int trigID, int clientID, int clientTeam );
  155.  
  156.     GTEV_TRIGGER_CANBEUSED,        // int  ( int trigID, int clientID, int clientTeam );
  157.  
  158.     GTEV_ITEM_CANBEUSED,        // int    ( int itemID, int clientID, int clientTeam );
  159.     GTEV_ITEM_USED,                // int  ( int itemID, int clientID, int clientTeam );
  160.  
  161.     GTEV_MAX
  162.  
  163. } gametypeEvent_t;
  164.  
  165.  
  166. typedef struct gtItemDef_s
  167. {
  168.     int            size;            // size of structure
  169.     qboolean    use;            // whether or not the item needs to be used
  170.     int            useTime;        // If the item needs to be used, this is the time it takes to use it
  171.     int            useIcon;        // Icon to display on screen if the item requires using
  172.     int            useSound;        // Sound to loop when using this item
  173.  
  174. } gtItemDef_t;
  175.  
  176. typedef struct gtTriggerDef_s
  177. {
  178.     int            size;            // size of structure
  179.     qboolean    use;            // Whether or not the trigger needs to be used
  180.     int            useTime;        // If the trigger needs to be used, this is the time it takes to use it
  181.     int            useIcon;        // Icon to display on screen if the trigger requires using
  182.     int            useSound;        // Sound to loop when using this trigger
  183.  
  184. } gtTriggerDef_t;
  185.  
  186.